Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Suggestions for relevant key binding
Forum Updated to NodeBB v4.3 + New Features

Suggestions for relevant key binding

Scheduled Pinned Locked Moved Unsolved General and Desktop
20 Posts 3 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Q Offline
    Q Offline
    Qt Enthusiast
    wrote on last edited by
    #1

    Hi All
    ![alt text](1.PNG image url)

    I have a functionality to implement

    The description of the functionality is

    When we press the tab key the cursor moves from Name ,Description Item1 , item2
    to all the text boxes

    and if we press the key (Which I need decide and which I would like have suggestions on what key we can use ) so that can go from item2 ,to item1 , Description and Name

    i,e to go on each text box in reverse direction .

    COuld some one suggest a appropriate key to go into reverse direction

    jsulmJ 1 Reply Last reply
    0
    • Q Qt Enthusiast

      Hi All
      ![alt text](1.PNG image url)

      I have a functionality to implement

      The description of the functionality is

      When we press the tab key the cursor moves from Name ,Description Item1 , item2
      to all the text boxes

      and if we press the key (Which I need decide and which I would like have suggestions on what key we can use ) so that can go from item2 ,to item1 , Description and Name

      i,e to go on each text box in reverse direction .

      COuld some one suggest a appropriate key to go into reverse direction

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @Qt-Enthusiast said in Suggestions for relevant key binding:

      and if we press the key

      This should work out of the box - Shift-Tab

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • Q Offline
        Q Offline
        Qt Enthusiast
        wrote on last edited by
        #3

        def keyPressEvent(self, event):
        # when the user presses Tab Key
        # then the focus should go to next text box
        if event.key() == QtCore.Qt.Key_Tab :
        self.parent.focusNextTextWidget()
        return

            modifiers = QtGui.QApplication.keyboardModifiers()
            # when the user presses Tab Key
            # then the focus should go to prev text box
            if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                self.parent.focusPrevTextWidget()
                return
        
            if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                print("\m I am here") 
                self.parent.focusPrevTextWidget()
                return
        
        1 Reply Last reply
        0
        • Q Offline
          Q Offline
          Qt Enthusiast
          wrote on last edited by
          #4

          I am not able to print ---- > I am here

          1 Reply Last reply
          0
          • Q Offline
            Q Offline
            Qt Enthusiast
            wrote on last edited by
            #5

            Please suggest why

            jsulmJ 1 Reply Last reply
            0
            • Q Offline
              Q Offline
              Qt Enthusiast
              wrote on last edited by
              #6

              When I type Shift + tab is goes from item empty box to item2 label then item1 text box then item1 label

              1 Reply Last reply
              0
              • Q Offline
                Q Offline
                Qt Enthusiast
                wrote on last edited by
                #7

                but my requirement is to

                got back directtly from item2 text box to item1 text box

                1 Reply Last reply
                0
                • Q Qt Enthusiast

                  Please suggest why

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  @Qt-Enthusiast There is no need to implement anything for switching focus via TAB/Shift-TAB - this should work without any code. In QtCreator/Designer you can specify the order in which Tab should got through the widgets.

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  2
                  • Q Offline
                    Q Offline
                    Qt Enthusiast
                    wrote on last edited by
                    #9

                    My code is in pytqt and I have to go only to selected cells not all

                    1 Reply Last reply
                    0
                    • Q Offline
                      Q Offline
                      Qt Enthusiast
                      wrote on last edited by
                      #10

                      @Qt-Enthusiast said in Suggestions for relevant key binding:

                      modifiers = QtGui.QApplication.keyboardModifiers()
                      # when the user presses Tab Key
                      # then the focus should go to prev text box
                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                      self.parent.focusPrevTextWidget()
                      return

                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                          print("\m I am here") 
                          self.parent.focusPrevTextWidget()
                      

                      Why
                      modifiers = QtGui.QApplication.keyboardModifiers()
                      # when the user presses Tab Key
                      # then the focus should go to prev text box
                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                      self.parent.focusPrevTextWidget()
                      return

                      if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                          print("\m I am here")  --------------------> I am not getting print here
                          self.parent.focusPrevTextWidget()
                      
                      jsulmJ 1 Reply Last reply
                      0
                      • Q Qt Enthusiast

                        @Qt-Enthusiast said in Suggestions for relevant key binding:

                        modifiers = QtGui.QApplication.keyboardModifiers()
                        # when the user presses Tab Key
                        # then the focus should go to prev text box
                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                        self.parent.focusPrevTextWidget()
                        return

                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                            print("\m I am here") 
                            self.parent.focusPrevTextWidget()
                        

                        Why
                        modifiers = QtGui.QApplication.keyboardModifiers()
                        # when the user presses Tab Key
                        # then the focus should go to prev text box
                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_T)):
                        self.parent.focusPrevTextWidget()
                        return

                        if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                            print("\m I am here")  --------------------> I am not getting print here
                            self.parent.focusPrevTextWidget()
                        
                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        @Qt-Enthusiast I don't know why.
                        But as I wrote before there is NO need to implement Shift-Tab as it should work out of the box.

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        1
                        • Q Offline
                          Q Offline
                          Qt Enthusiast
                          wrote on last edited by Qt Enthusiast
                          #12

                          but I have to owerite then what shall I
                          modifiers = QtGui.QApplication.keyboardModifiers()
                          if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                          print("\m I am here") --------------------> I am not getting print here
                          self.parent.focusPrevTextWidget()

                          how do I get print("\m I am here") ---when I press Shift + Key_tab

                          jsulmJ 1 Reply Last reply
                          0
                          • Q Qt Enthusiast

                            but I have to owerite then what shall I
                            modifiers = QtGui.QApplication.keyboardModifiers()
                            if ((modifiers & QtCore.Qt.ShiftModifier) and (event.key() == QtCore.Qt.Key_Tab)):
                            print("\m I am here") --------------------> I am not getting print here
                            self.parent.focusPrevTextWidget()

                            how do I get print("\m I am here") ---when I press Shift + Key_tab

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #13

                            @Qt-Enthusiast said in Suggestions for relevant key binding:

                            but I have to owerite

                            Can you please explain why you think you have to?
                            If you want to change the order in which Tab/Shift-Tab navigates through widgets you can do it in Designer, or using https://doc.qt.io/qt-5/qwidget.html#setTabOrder in code.

                            https://forum.qt.io/topic/113070/qt-code-of-conduct

                            1 Reply Last reply
                            1
                            • Q Offline
                              Q Offline
                              Qt Enthusiast
                              wrote on last edited by Qt Enthusiast
                              #14

                              I want to skip some of cells for that I have to overwrite

                              jsulmJ 1 Reply Last reply
                              0
                              • Q Qt Enthusiast

                                I want to skip some of cells for that I have to overwrite

                                jsulmJ Offline
                                jsulmJ Offline
                                jsulm
                                Lifetime Qt Champion
                                wrote on last edited by jsulm
                                #15

                                @Qt-Enthusiast So, the ones you want to skip should never get focus? If so just use https://doc.qt.io/qt-5/qwidget.html#focusPolicy-prop
                                You can unset Qt::TabFocus, so it will not get focus via Tab.
                                Or Qt::NoFocus if it should never get focus.

                                https://forum.qt.io/topic/113070/qt-code-of-conduct

                                1 Reply Last reply
                                3
                                • Q Offline
                                  Q Offline
                                  Qt Enthusiast
                                  wrote on last edited by
                                  #16

                                  def setRowSequenceForTabKey(self):
                                  # next row sequence
                                  # when the user press tab key
                                  # code is to get the next sequence
                                  # this is predefined for each className
                                  if self.className == "VerificationObjective":
                                  self.row_sequence = [1,2,3,4,6]
                                  else:
                                  self.row_sequence = [1,2,4]

                                          rowCount = self.table.rowCount()
                                          for i in range(0, rowCount):
                                               
                                              if cellWidget or i in self.row_sequence:
                                                  cellWidget.setFocusPolicy(QtCore.Qt.NoFocus)
                                  

                                  The following code is not working

                                  Could you please suggestion

                                  jsulmJ 1 Reply Last reply
                                  0
                                  • Q Qt Enthusiast

                                    def setRowSequenceForTabKey(self):
                                    # next row sequence
                                    # when the user press tab key
                                    # code is to get the next sequence
                                    # this is predefined for each className
                                    if self.className == "VerificationObjective":
                                    self.row_sequence = [1,2,3,4,6]
                                    else:
                                    self.row_sequence = [1,2,4]

                                            rowCount = self.table.rowCount()
                                            for i in range(0, rowCount):
                                                 
                                                if cellWidget or i in self.row_sequence:
                                                    cellWidget.setFocusPolicy(QtCore.Qt.NoFocus)
                                    

                                    The following code is not working

                                    Could you please suggestion

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #17

                                    @Qt-Enthusiast What is cellWidget here? You change the same cellWidget in the loop - I don't know how is this supposed to work? You should iterate over the cells and change their focus policy instead. Now you show that you're using a table. That is something you should have said straight from the beginning.

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    Q 1 Reply Last reply
                                    0
                                    • jsulmJ jsulm

                                      @Qt-Enthusiast What is cellWidget here? You change the same cellWidget in the loop - I don't know how is this supposed to work? You should iterate over the cells and change their focus policy instead. Now you show that you're using a table. That is something you should have said straight from the beginning.

                                      Q Offline
                                      Q Offline
                                      Qt Enthusiast
                                      wrote on last edited by
                                      #18

                                      Can we check if the Widget type is QLineEdit ?

                                      1 Reply Last reply
                                      0
                                      • Christian EhrlicherC Offline
                                        Christian EhrlicherC Offline
                                        Christian Ehrlicher
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #19

                                        @Qt-Enthusiast said in Suggestions for relevant key binding:

                                        Can we check if the Widget type is QLineEdit ?

                                        Yes - but we're a Qt forum, no python for beginners forum. Sorry.

                                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                        Visit the Qt Academy at https://academy.qt.io/catalog

                                        1 Reply Last reply
                                        0
                                        • Q Offline
                                          Q Offline
                                          Qt Enthusiast
                                          wrote on last edited by
                                          #20

                                          So I have QtableWidget

                                          as show in pictuure

                                          For Row 0
                                          1 ) The first column of each row is QLablel
                                          2 second colum is Qlinedit

                                          For Row 1 to Row2
                                          1 ) The first column of each row is QLablel
                                          2 second colum is QLabel

                                          For Row 3 to end

                                          1 ) The first column of each row is QLablel
                                          2 second column has QWidget that has QSplitter(Vertical)
                                          First widget of spiltter has QLineEdit
                                          Other widget of splitter has QLabe;

                                          My project is

                                          When the user press KeyTab , the cursor should move from one QLineEdit to other Qlinedit ( it should not jump within the QLineEdit

                                          Please suggest some generic way

                                          For 3rd to last row the second column is Q![alt text](![image url](Table.PNG image url))

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved